'use strict';
var App = function () {

    //获取产品数据的路径
    //this.productUrl = 'data/products.json';
    this.productUrl = '/products/list';

    this.id = 'p000';

};


var app = new App();

//================================================================================================================//
/*
    加载产品数据
    target  : 要加入到的div
    num     : 要显示的商品数量，不写则默认3个
*/
App.prototype.loadProduct = function () {

    var _this = this;
    arguments[0] = arguments[0] || {};
    var target = arguments[0].target;
    var num = arguments[0].num;
    NProgress.start();

    //发出请求
    $.ajax({
        'url': _this.productUrl,
        'type': 'get',
        'data': {id: _this.id, num: num},
        'dataType': 'json',
        'success': function (result) {
            var data = result;
            var html = '';
            var random = app.getRandomString(7);

            num = num || data.length;

            for(var i = 0; i < num; i++) {
                html += '<div class="col-md-4"> <div class="thumbnail"> <a class="fancybox-thumbs" data-fancybox-group="thumb_'+ random +'" href="'+ data[i].src +'" title="'+ data[i].name +'"> <img src="'+ data[i].src +'" /> </a> <div class="caption"> <p> '+ data[i].name +' </p> <p> <a class="btn btn-primary" href="#">详情</a> </p> </div> </div> </div>';
            }

            //加载完毕后将id存储起来，供继续加载之后的数据用
            _this.id = data[num-1].id;

            //将拼接好的html加入到目标div中
            $(target).append(html);

            //显示图片加载进度
            $('img').not(':last').on('load', function () {
                NProgress.inc();
            });

            //当最后一个图片加载完毕时，关闭进度条
            $('img:last').on('load', function () {
                NProgress.done();
            })

        },
        'error': function (error) {
            alert('加载产品列表失败');
        }
    });
};

//生成一个随机字符串,默认6位，若想选择长度则带一个数字
App.prototype.getRandomString = function () {

    var length = arguments[0] || 6;
    var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
    var maxPos = $chars.length;
    var str = '';

    for (var i = 0; i < length; i++) {
        str += $chars.charAt(Math.floor(Math.random() * maxPos));
    }
    return str;
};